<h1>DefineFont</h1>

<p>DefineFont defines the glyphs that are drawn when text characters are rendered 
in a particular font.</p>

<table>

<tr>
<th nowrap>Field Name</th>
<th>Type</th>
<th>Size</th>
<th>Description</th>
</tr>

<tr>
<td nowrap valign="top">type</td>
<td nowrap valign="top">unsigned bit</td>
<td nowrap valign="top" align="right">10</td>
<td>Identifies the DefineFont instruction when it is encoded. It is encoded 
with the length field as a 16-bit integer (Little-endian byte order).</td>
</tr>

<tr>
<td nowrap valign="top">length</td>
<td nowrap valign="top">unsigned bit</td>
<td nowrap valign="top" align="right">6</td>
<td>The length in bytes of the body of the instruction when it is encoded. If the length is greater 
than 62 then this field is set to 0x3F and the length is encoded using the 
extendedLength field. Encoded with the type field as a 16-bit integer.</td>
</tr>

<tr>
<td nowrap valign="top">extendedLength</td>
<td nowrap valign="top">unsigned int</td>
<td nowrap valign="top" align="right">32</td>
<td>Optional. Contains the length in bytes of the encoded instruction if it is
greater than 62 bytes. If the length is 62 bytes or less then this field is 
omitted.</td>
</tr>

<tr>
<td nowrap valign="top">identifier</td>
<td nowrap valign="top">unsigned int</td>
<td nowrap valign="top" align="right">16</td>
<td>The unique identifier for this font definition. This is used when adding or removing 
the shape from the display list or when the shape is used as part of another 
object such as a button.</td>
</tr>

<tr>
<td nowrap valign="top">shapes</td>
<td nowrap valign="top">Shape[n]</td>
<td nowrap valign="top" align="right">&nbsp;</td>
<td>An array of Line, Curve and ShapeStyle instructions used to trace the 
outline for the shape.</td>
</tr>

</table>

<p>A complete definition of a font is created using the DefineFont instruction for 
the glyphs along with an FontInfo instruction which contains the name of the font,
whether the font face is bold or italics and a table that maps character codes 
to the glyphs that is drawn to represent the character.</p>

<p>When defining a font only the glyphs used from a particular font are included. 
Unused glyphs can be omitted greatly reducing the amount of information that is 
encoded.</p>

<h2>History</h2>

<p>The DefineFont instruction represents the DefineFont structure from the Macromedia 
Flash (SWF) File Format Specification. It was introduced in Flash 1.</p>
